Cross-application ingestion and restructuring of slide presentation content

ABSTRACT

A content generation computing system includes content generating application logic. The content generating application logic runs a content generation application to generate content. It also includes content ingestion and transformation logic that allows a user to identify slide presentation content from a source document for ingestion into a document that is being generated. The system automatically restructures graphical objects in the ingested slide presentation content based upon the content generation application into which it is being ingested.

BACKGROUND

There are a wide variety of different types of computing systems. Suchcomputing systems can be disposed in different types of architectures.Some are local computing systems which reside on a machine or userdevice. Others host services in a remote server environment, such as inthe cloud. Still others have components disposed on a user device (suchas client components) with other components or functionality disposed ina remote server environment.

All of these different types of architectures can run content generationapplications. These types of applications are often used by users togenerate content or documents. Some examples of content generationapplications include word processing applications, spreadsheetapplications, slide presentation applications, among others.

Some of these types of applications include logic that generatesinsights based upon the content. For instance, a spreadsheet applicationmay identify patterns or other correlations in data entered into a tablein the spreadsheet. The insight logic may then surface those insightsfor the user. An insight provides a single insight (correlation,pattern, etc.) for a given data set within the boundaries of thespreadsheet document.

It is also common for users to use the same data or content acrossdifferent content generation applications. For instance, a user may wishto generate a slide presentation from data in a source document, such asa spreadsheet document. Similarly, a user may wish to summarize a sourcedocument (such as a slide presentation) in a word processing document.In order to do this, users often resort to copying and pasting contentfrom the source document (generated in one content generationapplication) into another document (generated using another contentgeneration application). The user then adjusts the format and relevantcontent in the newly created document. In other cases, the user rewritesthe content from scratch into the new document.

In addition, when the content in the source document changes, then thatcontent also needs to be updated by the user in the newly createddocument.

The discussion above is merely provided for general backgroundinformation and is not intended to be used as an aid in determining thescope of the claimed subject matter.

SUMMARY

A content generation computing system includes content generatingapplication logic. The content generating application logic runs acontent generation application to generate content. It also includescontent ingestion and transformation logic that allows a user toidentify slide presentation content from a source document for ingestioninto a document that is being generated. The system automaticallyrestructures graphical objects in the ingested slide presentationcontent based upon the content generation application into which it isbeing ingested.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter. The claimed subject matter is not limited to implementationsthat solve any or all disadvantages noted in the background.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of one example of a computing systemarchitecture.

FIG. 2 is a block diagram showing one example of content ingestion andtransformation add-in logic, in more detail.

FIG. 3 is a block diagram showing one example of refresh logic, in moredetail.

FIGS. 4A-4C (herein after referred to as FIG. 4) illustrate a flowdiagram showing one example of the operation of the architectureillustrated in FIG. 1 ingesting content from a source document createdusing one content generation application into a target document createdusing a different content generation application.

FIGS. 5A-5C (herein after referred to as FIG. 5) illustrates a flowdiagram showing one example of the operation of a set of conversationaluser interface logic in conducting a dialog with a user and controllingcontent ingestion.

FIG. 6 shows one example of a user interface display that can begenerated by the conversational UI logic.

FIG. 7 is a block diagram showing one example ofspreadsheet-to-presentation transformation logic.

FIG. 8 is a flow diagram illustrating one example of the operation ofthe logic shown in FIG. 7.

FIG. 9 is a block diagram showing one example of presentation-to-wordprocessing transformation logic.

FIG. 10 is a flow diagram illustrating one example of the operation ofthe logic illustrated in FIG. 9.

FIG. 11 is a block diagram showing one example of the architectureillustrated in FIG. 1, deployed in a could computing architecture.

FIGS. 12-14 show examples of mobile devices that can be used in thearchitectures shown in the previous FIGS.

FIG. 15 is a block diagram showing one example of a computingenvironment that can be used in the architectures shown in the previousFIGS.

DETAILED DESCRIPTION

FIG. 1 is a block diagram showing one example of a computing systemarchitecture 100. Architecture 100 illustratively includes contentgeneration computing system 102 that has access to an organizationalcontent graph computing system 104 through an application programminginterface (API) 106 exposed by computing system 104. FIG. 1 also showsthat content generation computing system 102 illustratively has accessto an electronic mail (email) computing system 108, social networkcomputing system 110, and it can have access to other communicationsystems or computing systems 112. In addition, FIG. 1 shows that, in oneexample, content generation computing system 102 illustrativelygenerates user interfaces 114 for interaction by user 116. User 116illustratively interacts with user interfaces 114 in order to controland manipulate content generation computing system 102 and some parts oforganizational content graph computing system 104 and the othercomputing systems 108-112.

In addition, while FIG. 1 shows that content generation computing system102 communicates with the other systems directly, or through an API, itcan communicate with those systems over a network as well. The networkmay be a wide area network, a local area network, a near fieldcommunication network, a cellular communication network, or a widevariety of other networks or combinations of networks.

In the example shown in FIG. 1, organizational content graph computingsystem 104 illustratively maintains an organizational content graphwhich graphs relationships between entities, or items, in anorganization. Those items can be documents (such as spreadsheetdocuments 128, word processing documents 126, slide presentationdocuments 130, and other documents or items of content) users (such asemployees, the roles that they hold, etc.) among other things.Therefore, in one example, computing system 104 includes one or moreprocessors or servers 118, an organizational structure 120 whichidentifies the structure of the organization for which the content graphin computing system 104 is being maintained, people and/or roles thatthey hold 122, and the relationship between them, given the contentorganizational structure 120. The content graph illustratively trackscontent interaction (by users), user interactions, and other informationand uses machine learning mechanisms to identify connections betweenpeople, content and activities in an organization (such as a company).

Through the exposed API 106, computing system 104 facilitates unifiedsearch capability across different applications and data stores. Thedifferent items of content 124 and people 122 can be represented bynodes in the graph and the relationships 134 can be represented by edgesconnecting the nodes. The relationships 134 can be weighted based on astrength of the relationship, and relationships 134 may also indicate atype of relationship. For instance, if two users communicate with oneanother often, such as using email systems, then the relationship 134 oredge between those user nodes may be weighted more heavily than if theycommunicate with one another seldomly. The same can be done with respectto relationships 134 between users 122 and content documents 124. If auser accesses a particular content document often, then the edge betweenthat user and that content document may be weighted more heavily thanotherwise. Further, relationships between documents 124 can be derivedfrom a structure of the directory in which they are found.

The relationships 134 may reflect interactions among users, interactionsof users with content documents, relationships between content documents(such as that they were authored by the same persons, are related to thesame subject matter, etc.) among a wide variety of other relationships.In addition, organizational content graph computing system 104 mayinclude a wide variety of other items 136, such as user preferences,user tendencies, etc. Some of these are described in greater detailbelow.

Organizational content graph computing system 104 illustratively exposesAPI 106 for interaction by content generation computing system 102.Content generation computing system 102 can thus interact with API 106in order to obtain information from organizational content graphcomputing system 104.

In the example illustrated in FIG. 1, content generation computingsystem 102 illustratively includes processors or servers 138, contentgenerating application logic 140 that is used to run a contentgeneration application to generate a content document 142 andcorresponding metadata 144. System 102 also illustratively includes datastore 146, communication system 148, user interface logic 150, a set ofone or more local files 154 (which may be stored in data store 146 orelsewhere) and a wide variety of other computing system functionality156.

Before describing the operation of content generation computing system102, in ingesting and restructuring content from a source application, abrief description of some of the items in computing system 102, andtheir operation, will first be provided.

Content generating application logic 140 illustratively includes contentingestion and transformation add-in logic 158, refresh logic 160, and itcan include a wide variety of other content generation functionality162. Local files 154 illustratively include word processing documents164, spreadsheet documents 166, slide presentation documents 168 and itcan include a wide variety of other documents 170. The documents can beaccessed through a local files API 172.

Communication system 148 illustratively allows items in contentgeneration computing system 102 to communicate with one another, and tocommunicate with the other systems shown in FIG. 1. Therefore,communication system 148 may vary, depending upon the types of systemsthat it is communicating with, and depending upon the networks (if any)it is using to communicate with them.

User interface logic 150 illustratively generates user interfaces 114and detects user interactions with those user interfaces. It provides anindication of the user interactions to other items in computing system102, and it can provide them to other items in FIG. 1 as well, eitherdirectly, or through different pieces of computing system 102.

Briefly, in operation, content generating application logic 140illustratively runs a content generation application that is launched byuser 116 through an appropriate user interface 114. For the sake of thepresent discussion, assume that content generating application logic 140is running a word processing application that is used by user 116 inorder to generate a word processing document (content document 142). Itwill be noted that, while logic 158 is shown as an add-in to the contentgeneration application, it can just as easily be a separate component orpiece of logic that is separate from the content generation application.Both of these, and other architectures are contemplated herein.

The word processing application illustratively includes the add-in logic158 which allows user 116 to specify source content generated using adifferent type of content generating application (such as content from aslide presentation document) to be ingested into the word processingdocument that user 116 is generating. In doing so, content ingestion andtransformation add-in logic 158 generates a link to the source slidepresentation document which contains the source content that is ingestedinto the word processing document being created by user 116. That linkis added to the metadata of the document being created and is used byrefresh logic 160 to refresh the ingested content in the word processingdocument, when the content in the source document (the slidepresentation document) changes. This refresh processing is alsodescribed in greater detail below.

In addition, once the information from the source document (e.g., thecontent in the slide presentation document) is identified for ingestion,then content ingestion and transformation add-in logic 158 automaticallyparses the content, analyzes it, identifies insights in that content invarious ways, and fundamentally restructures the content so that it canbe displayed in the content document 142 being generated (e.g., in theword processing document being generated by user 116).

The restructuring is performed in a variety of different ways, as isdescribed in greater detail below. Briefly, a conversational userinterface element (such as a bot) conducts a dialog with user 116 toidentify the content to be ingested. It can do this by identifyingavailable content for ingestion (by accessing organizational contentgraph computing system 104 and local files 154) and presenting theavailable files to user 116 for selection. It then accesses the sourcecontent that the user has identified as the content to be ingested andprovides it to an analysis system which begins analyzing it. Theconversational user interface also conducts additional dialog with user116 to obtain additional information from user 116 (such as who theintended recipients are, such as to disambiguate the importance ofinformation in the ingested content, such as to verify insights,relationships or patterns identified in the ingested content, amongother things) that are used during the restructuring or transformationprocess.

The analysis system can obtain a wide variety of different types ofinformation in order to identify new insights and perform additionalanalysis. It can use artificial intelligence or other mechanisms toconsider the information in the ingested content, itself. It canidentify other related documents (such as other documents recentlyworked on by user 116, recently shared by or to user 116, documents thatare frequently accessed by user 116, the other users or roles that user116 normally shares documents with, user preferences, customizationsthat are normally made by user 116 to ingested content, templatesnormally used by user 116, among a wide variety of other things). It canidentify a metric for different parts of the source content whichidentifies a relevance or importance (or other measure) of the differentparts of the source content to the document being created. Add-in logic158 then restructures the source content so it is incorporated into thedocument being created, based (at least in part) on the metric.

Once the restructuring is complete, the content document 142 ispresented to user 116. The conversational user interface in contentingestion and transformation add-in logic 158 then solicits feedbackfrom user 116 as to how satisfied user 116 is with the restructuredcontent. It also solicits feedback indicating what changes user 116wishes to make to the restructured content, and it saves those changesfor future use. Content ingestion and transformation add-in logic 158will now be described in more detail.

FIG. 2 is a block diagram showing one example of content ingestion andtransformation add-in logic 158. In the example shown in FIG. 2, it canbe seen that logic 158 illustratively includes conversational userinterface (UI) logic 180, ingested content accessing logic 182, linkgenerator logic 184, application-specific transformation logic 186, usermodification tracking logic 188, and it can include a wide variety ofother functionality 190. Conversational UI logic 180 itself,illustratively includes available content identifier logic 192,preference identifier logic 194, conversation sequence and control logic196, and it can include other conversational UI functionality 198.Conversation sequence and control logic 196, itself, illustrativelyincludes ingested content identifier logic 200, recipient identifierlogic 202, feedback logic 204, and it can include a wide variety ofother conversational sequence and control logic 206.

Ingested content accessing logic 188 illustratively includesorganizational content graph accessing logic 208, local contentaccessing logic 210, and it can include other items 212. Usermodification tracking logic 188 illustratively includes user changeidentifier logic 214, user change save logic 216, and it can includeother items 218.

Application-specific transformation logic 186 illustratively includesingested content parsing logic 220, ingested content analysis logic 222,metadata analyzer logic 224, related content analysis logic 226,restructuring system 228, conversational UI interface logic 230, andrestructured output generator logic 232. Restructuring system 228,itself, illustratively includes prior customization logic 236,recipient-based transformation logic 238, form factor transformationlogic 240, and it can include a wide variety of other transformationlogic 242. Some of the items in logic 158 will now be described in moredetail.

It will be noted that the operation of conversational UI logic 180 isdescribed in greater detail below with respect to FIG. 5. Briefly,however, at some point, content ingestion trigger detection logic 191detects a trigger indicating that user 116 wishes to inject content intothe document that user 116 is currently creating. Assume, for instance,that user 116 is creating a word processing document. Assume furtherthat user 116 has provided an input through a suitable user interface114 indicating that the user wishes to ingest content, into the wordprocessing document, from a different document (e.g., a sourcedocument). In that case, content ingestion trigger detection logic 191detects the user input, and available content identifier logic 192begins looking for content that is available to user 116, for ingestioninto the word processing document that he or she is currently creating.Available content identifier logic 192 can access organizational contentgraph computing system 104 through API 106. It can also access localfiles 154 through API 172.

In addition, preference identifier logic 194 can access user preferenceswhich may be stored in organizational content graph computing system 104as well. Those preferences may indicate the particular types of contentthat the user wishes to ingest, the types of information that the usernormally considers to be important (and that was included in othercontent documents), the templates user 116 normally uses, among a widevariety of other things.

Conversation sequence and control logic 196 then conducts a dialog withuser 116, sequencing questions and responses based on user inputs. Inone example, ingested content identifier logic 200 conducts aconversation with user 116 to assist user 116 in identifying the sourcedocument from which content is to be ingested. In one example, availablecontent identifier logic 192 provides a list of available content (e.g.,a list of documents or files), from which content can be ingested, andcontent in that list may be made available for selection by user 116, bylogic 196. In another example, logic 200 can provide a text box wherethe user can identify the source document from which content is to beingested. These and other scenarios are contemplated herein.

Recipient identifier logic 202 illustratively generates a dialog withuser 116 in an attempt to identify the intended recipient of the contentthat the user is currently generating. This may be used in analyzingthat content and restructuring it for the user.

Other conversational sequence and control logic 206 can be used whileapplication-specific transformation logic 186 is restructuring theingested content. It can be used to obtain additional information fromuser 116 about a wide variety of different things, some of which aredescribed in more detail below.

Once the restructured, ingested content is presented to the user,feedback logic 204 generates a dialog with user 116 to obtain feedbackfrom user 116 indicative of how satisfied user 116 is with therestructured content. It also illustratively allows the user to makechanges to the restructured content (or the ingesting system orapplication can make changes) and it tracks those changes so that theycan be used when the restructured content is refreshed (such as when thecontent in the source document changes) and in restructuring content inthe future.

When ingested content identifier logic 200 identifies the sourcedocument of the content to be ingested, then ingested content accessinglogic 182 accesses that content and provides it to application-specifictransformation logic 186, so that it can be restructured and ingestedinto the content currently being created by user 116. Organizationalcontent graph accessing logic 208 can access content (such as contentdocuments 124) stored on organizational content graph computing system104. It can do this by invoking API 106, for instance. Local contentaccessing logic 210 accesses content stored in local files 154. It cando this by invoking local files API 172. It can access content to beingested in other ways as well.

Link generator logic 184 generates a link between the ingested contentthat is restructured and placed in the content being generated by user116, and the source document from which it was ingested. Itillustratively maintains that link, in relation to the content that iscurrently being created by user 116 (e.g., as metadata for the documentbeing created), so that that the link can be used to refresh the contentcurrently being created, when the ingested content in the sourcedocument changes. This is also described in more detail below.

When the restructured content is displayed to user 116, usermodification tracking logic 188 tracks the various changes that the usermay make (and/or that the ingesting system or other system orapplication may make) to the restructured content, so that those changescan be applied when the content is refreshed. Those changes can also beused in generating restructured content in the future, since they may beindicative of user preferences. Thus, user change identifier logic 214identifies any (user or system) changes that are made to therestructured content, when it is presented to the user. User change savelogic 216 saves those changes, as separate values that are separatedfrom the restructured content, so that they can be applied when thecontent is refreshed, or so that they can be used in analyzing contentthat is ingested in the future.

Application-specific transformation logic 186 is the logic that performsthe restructuring on the ingested content so that it is restructuredfrom the structure in which it exists in the source document into thestructure in which it will be represented in the content beinggenerated. By way of example, where the user is ingesting content from aslide presentation document, into a word processing document that iscurrently being generated, then logic 186 automatically restructures theslide presentation content so that it can be used in the word processingdocument. The restructuring can be done in an application-specific wayso that certain restructuring may be done when ingesting content from aslide presentation document into a word processing document in a firstway, but the restructuring can be done in a second way when ingestingcontent from, for example, a spreadsheet document into a slidepresentation document. These are just examples. By “automatically” it ismeant that the process can be completed without further userinvolvement, except perhaps to initiate or authorize the process.

It will also be noted, while the present discussion proceeds withrespect to much of the restructuring logic being contained inapplication-specific transformation logic 186, it will be appreciatedthat the functionality performed by logic 186 can be dispersed throughthe other components or other items or logic in content ingestion andtransformation add-in logic 158. Therefore, some of the functionalitydescribed herein with respect to logic 186 may be performed byconversational UI logic 180. Other functionality may be performed byingested content accessing logic 182, link generator logic 184, usermodification tracking logic 188, or other items. It is shown as beingperformed by application-specific transformation logic 186 for thepurposes of example and explanation only.

Ingested content parsing logic 220 illustratively parses the sourcedocument from which content is to be ingested. It can do this in avariety of different ways, depending upon the type of document beingparsed. For instance, if the document being parsed is a spreadsheet,then it may be parsed into the different types of objects in thespreadsheet (such as charts, tables, etc.), the links between thoseitems in the underlying data (such as the links to the tables from whicha chart draws data, etc.), among a wide variety of other things. If thedocument being parsed is a slide presentation, it may be parsed into theindividual slides, identifying slide sequence, the text on the slides,the various graphics on the slides, symbols that may represent asequence or other relationships among the items on the slides, etc. Whenthe document being parsed is a word processing document, it may beparsed into the document parts (such as title, paragraphs, headings,sections, tables or other graphic items included in the document,metadata, among other things). The parsing can be done by analyzing tagson the document, other code or content itself. In addition, the ingestedcontent parsing logic 220 may identify metadata on the document (such aswho the document has been shared with, the permissions associated withthe document, who created the document, when it was created, when it waslast modified, among a wide variety of other metadata), and provide thatto metadata analyzer logic 224 as well. Ingested content analysis logic222, and metadata analyzer logic 224 then perform analysis on theingested content and the corresponding metadata, respectively, in orderto identify insights or relationships in that data and metadata, and inorder to identify data that is important and in order to enhance therestructuring of the important data to be ingested. As an example, theingested content can be analyzed to identify a value or metricindicative of how important or relevant each part (identified by parsinglogic 220) is to the content being created. Some examples of this arealso described in more detail below.

Related content analysis logic 226 identifies related content (such asother documents created or shared by this user, other documents sharedwith this user, documents created or shared by other people that areclosely related to this user in the organizational content graphmaintained by computing system 104, documents that are often accessed bythis user or documents that are most recently accessed by this user,among other things. It can identify that content and analyze it todetermine the subject matter of the content, how that content was laidout, the information that was considered important by the user (such ashighlighted information, information that is the subject of charts orgraphs or other graphics, etc.).

The analysis results from logic 222, 224 and 226 (and any other analysisresults) are illustratively provided to restructuring system 228.Recipient-based transformation logic 238 can generate control signals sothe content is restructured based upon the intended recipient. Forinstance, if user 116 is a professor and the intended recipients arestudents, then the restructuring may be presented in one way (such as ina step-by-step process, etc.) that may be useful in teaching. If thecontent is intended for the user's manager or a coworker, then the rolethat that coworker plays may be used in restructuring the content. Ifthe recipient, for instance, is an analyst, then it may be that logic238 generates control signals so a great deal of detail is provided inthe restructured content. However, if the recipient is a manager orsupervisor, then it may be that the content is restructured in a moresummary fashion. These are examples of restructuring content that can beperformed by recipient-based transformation logic 238.

Prior customization transformation logic 236 illustratively identifiesprior customizations that user 116 has made to ingested content. Forinstance, if system 158 has ingested and restructured similar contentfor user 116, and then user 116 has made customizations to thatrestructured data, those customizations will illustratively beconsidered by prior customization transformation logic 236 in generatingthe current restructured data. By way of example, assume that a priorset of restructured content included pie charts and that was displayedto user 116. Assume also that the user converted all of those pie chartsinto bar charts (or other charts). This will be considered by logic 236in generating control signals so that transformation logic 186 maypreferentially generate bar charts instead of pie charts. Again, this isonly one example.

Form factor transformation logic 240 illustratively generates controlsignals to guide the restructuring of the content based upon theintended form factor of the device on which the content will bedisplayed. If the device is a mobile device, then the content may berestructured in one way, whereas if it is a large screen device, thenthe content may be restructured in a different way.

Other transformation logic 242 illustratively takes into account any orall of the other analysis results generated by ingested content analysislogic 222, related content analysis logic 226, metadata analyzer logic224, etc. All of this information can be used in generating controlsignals to guide the restructuring of the content that is being ingestedinto the current document.

Once the restructuring is complete, restructured output generator logic232 generates an output indicative of the restructured content, so thatit can be provided to user 116. During the entire process,conversational UI interaction logic 230 illustratively interacts withconversational UI logic 180 so that it can obtain additional informationfrom the user, when that would be helpful, and so that it can providethe user with updates as to where logic 186 currently is in therestructuring process. These and other items are described in greaterdetail below with respect to FIGS. 4-5.

FIG. 3 is a block diagram showing one example of refresh logic 160, inmore detail. In the example illustrated in FIG. 3, refresh logic 160illustratively includes refresh trigger detection logic 250, ingestedcontent source identifier logic 252, link identifier logic 254, linkfollowing logic 256, source change identifier logic 258, transformationlogic interaction system 260, user change application logic 262, and itcan include a wide variety of other items 264.

Refresh trigger detection logic 250 detects a refresh trigger indicatingthat it is time to refresh the ingested content. The trigger can be anyof a wide variety different types of triggers, such as that the sourcecontent was changed, that a scheduled refresh is to be performed, thatthe user has expressly requested a refresh operation, among others.Additional refresh triggers are described below. Ingested content sourceidentifier logic 252 then identifies the source document from whichcontent was ingested into the document to be refreshed. Link identifierlogic 254 identifies the link to that source document and link followinglogic 256 allows refresh logic 160 to follow the link (such as usingingested content accessing logic 182) to obtain access to the sourcedocument from which the content was ingested.

Source change identifier logic 258 identifies any changes to the sourcecontent that was ingested, and transformation logic interaction system260 provides the refreshed (changed) content to the application-specifictransformation logic 186 so that a refreshed transformation can begenerated. User change application logic 262 then applies any changesthat were made to the original restructured content, so that they areapplied to the refreshed, restructured content. Refresh logic 160 canperform other operations as well.

FIGS. 4A-4C (collectively referred to herein as FIG. 4) illustrate aflow diagram showing one example of the operation of content generatingapplication logic 140 in ingesting and restructuring content from adocument created using a different application. It is first assumed thata content generation application is running in content generatingapplication logic 140, and that the application has content ingestingand transformation add-in logic 158 incorporated into it. This isindicated by block 266 in the flow diagram of FIG. 4. Logic 158 thendetects that it has been invoked or activated by the user. For instance,it may be that the user actuates an “Add-In” button or other actuator ona user interface display that is displayed by the content generationapplication. Detecting invocation of the Add-In logic 158 is indicatedby block 268 in the flow diagram of FIG. 4.

Content ingesting trigger detection logic 191 in conversational UI logic180 then detects a trigger indicating that it is to launch aconversation with user 116. This is indicated by block 270. It will benoted that the conversational UI logic 180 may be a bot 272 or anotheritem of logic 274.

Ingested content identifier logic 200 then identifies the source of thecontent to be ingested. This is indicated by block 276. For example, itcan conduct a dialog with user 116 asking the user to select from a listof content that is available for ingestion. Conducting the dialog isindicated by block 278. It can detect the user input selecting one ofthose documents, or it can detect a different user input identifying thesource document of the content to be ingested. This is indicated byblock 280. Ingested content identifier logic 200 can identify the sourcedocument for the content to be ingested in other ways as well, and thisis indicated by block 282.

Recipient identifier logic 202 then identifies the target audience orintended recipients of the content being created. This is indicated byblock 284. Again, it can conduct a dialog with user 116 to identify theintended recipients. Identifying the intended recipient based on a userinput is indicated by block 286. It can infer intended recipients basedupon the recipients of other, similar content that was created by user116. Inferring the intended recipient is indicated by block 288. It canidentify the intended receipting or target audience for the contentbeing created in a wide variety of other was as well, and this isindicated by block 290.

Conversational UI logic 180 then controls ingested content accessinglogic 182 to obtain the source document of the content to be ingested.This is indicated by block 292. Organizational content graph accessinglogic 208 can access the organizational content graph in computingsystem 104. This is indicated by block 294. It can obtain the sourcedocument by accessing local files 154. This is indicated by block 296.It can access the source document in a wide variety of other was aswell, and this is indicated by block 298.

The source document is then provided to application-specifictransformation logic 186 where ingested content parsing logic 220 parsesthe source document to identify different items (or parts) in the sourcedocument. This is indicated by block 300. It can do this based on tags,metadata, the content itself, among other things. Some examples of thiswere described above.

Ingested content analysis logic 222, metadata analyzer logic 224, andrelated content analysis content logic 226 then perform analysis on thesource of the content to be ingested to identify important parts of thatsource document. This is indicated by block 302. These important partsmay, eventually, be the content from the source document which isactually ingested, restructured, and output to the user. The variousanalyzers can each generate a metric indicative of how important (orrelevant or otherwise related) each part of the source document is tothe document being created and how it should be restructured. Thosemetrics can be combined (on a per-part basis) to identify the overallimportance of each part. Or, the metrics can be weighted, arrangedaccording to priority or otherwise aggregated or combined.

The various items of analysis logic 222, 224 and 226 illustrativelyidentify additional insights, over and above those that were identifiedin the content generating application that was used to generate thesource document. Identifying these additional insights is indicated byblock 304. The insights can be generated in a wide variety of ways,including using statistical analysis, heuristics, artificialintelligence logic, or various other models that analyze information forpatterns, correlations, different types of relationships, etc.

Conversational UI interaction logic 230 also illustratively usesconversational UI logic 180 to obtain additional user inputs, ifdesired. This is indicated by block 306. For instance, it can generate aconversational output that confirms, with the user, the importance orrelevance of any part of the source document, any additional insightsidentified in block 304, etc. It can ask for other additionalinformation and the substance and sequence of the questions andresponses in the conversation are determined by conversation sequenceand control logic 196, based upon information that is already known,based on estimates, based on user responses, or in other ways. It canobtain additional user inputs in a wide variety of other ways as well.

Related content analysis logic 226 performs analysis based on relatedcontent. For instance, the related content can be identified based oncommon subject matter, based on a temporal relationship (e.g., the mostrecently accessed or authored documents), documents shared with the userfrom the user's manager or other tightly related users, or a widevariety of other things. Performing analysis based on the relatedcontent is indicated by block 308. The analysis results may generate avalue indicative of how important a part of the source document is, andhow it should be restructured, based on the related content.

Metadata analyzer logic 224 illustratively analyzes the metadatacorresponding to the content to be ingested. This can take a widevariety of forms as well. Analyzing the content to be ingested based onits corresponding metadata is indicated by block 310.

The data can be analyzed based upon a desired layout. This is indicatedby block 312. For instance, in a first layout there may be additionaldisplay real estate for different information, while in a differentlayout the display real estate may be somewhat limited. Thus, the datacan be analyzed to determine whether it is best represented by a certainchart, by text, by other graphical information, etc., based on thedesired layout.

Logic 186 can also use conversational UI interaction logic 230 tointeract with conversational UI logic 180 in order to confirm theanalysis results with user 116. This is indicated by block 314. By wayof example, it may be that the analysis results identify certain subjectmatter content or information that is believed to be important to user116 (e.g., highly relevant to the content that user 116 is creating).Logic 230 may serve as a conversational interface to dialog with theuser to confirm that the information is correct, and that the identifiedinformation is indeed important to user 116 in the content to beingested.

The different pieces of analysis logic can perform analysis to identifythe important parts of the source content, and how they should berestructured, in a wide variety of other ways as well. This is indicatedby block 316.

Restructuring system 228 then performs application-specifictransformations or restructuring based upon the analysis results, toobtain restructured content that is incorporated into the document (orother content) that is currently being generated. Performing thetransformations or restructuring is indicated by block 318 in the flowdiagram of FIG. 4. Recipient-based transformation logic 238illustratively performs recipient-based restructuring ortransformations. This is indicated by block 320 in the flow diagram ofFIG. 4. By way of example, if the intended recipients are students, thenthe material may be restructured in a certain way. However, if theintended recipient is the user's manager, then it may be restructured ina different way. These are examples only. Logic 238 generates controlsignals to guide the restructuring based on the intended recipient.

The transformations or restructuring can be performed based upon theanalysis results generated by related content analysis logic 226. Thisis indicated by block 322 in the flow diagram of FIG. 4. For instance,if logic 226 identifies that relatively large number of recent documentscreated by user 116 have to do with a certain subject matter content,and represent that subject matter content using a particular set ofgraphics, then it may generate control signals to preferentially chooseto restructure the current content being ingested using those types ofgraphics as well. This is just one example.

The prior customization transformation logic 236 illustrativelygenerates control signals to restructure the content, while consideringprior customizations made by user 116 to other ingested content. Forinstance, if user 116 has often customized the ingested content bychanging bar charts into pie charts, then prior customizationtransformation logic 236 illustratively preferentially restructuresgraphic information according to bar charts. Performing therestructuring based on prior customizations by the user is indicated byblock 324 in the flow diagram of FIG. 4.

Form factor transformation logic 240 generates control signals toperform restructuring based on the form factor for which the currentlygenerated content is intended. For instance, if it is intended for amobile device, then it may be restructured in one way, while if it isintended for a large screen device, it may be restructured in anotherway. Restructuring the content based on layout and form factorinformation is indicated by block 326.

It will be appreciated that the other transformation logic 242 cangenerate control signals to transform or restructure the content beingingested according to any of the analysis results discussed above. Forinstance, where a graph is being generated, the axes on the graph mayrepresent the two most important items identified during analysis. Thisis just one example, and other transformation logic 242 can generate thetransformations based on the analysis results, as well as a wide varietyof other criteria. This is indicated by blocks 328 and 330,respectively, in FIG. 4.

It will be noted that restructuring system 228 can include the differentportions of transformation logic as separate, discrete, items of logicor they can be incorporated into a single restructuring model orartificial intelligence component. If they are separate portions oflogic, the control signals are combined to restructure the content.

At some point, link generator logic 184 generates and stores a link tothe source of the ingested content. This is indicated by block 332 inthe flow diagram of FIG. 4. This can be done in a number of differentways. For instance, it can identify the location of the file from whichthe ingested content was obtained. It can also identify the particularparts of the ingested content which were actually ingested (such aswhich charts, which portions of a word processing document, which tablesin a spreadsheet, which slides in a slide presentation, and which piecesof those slides, etc. were actually ingested). The link can then be usedwhen refreshing the ingested content or in other ways.

Restructured output generator logic 232 then generates an outputindicative of the restructured content, in the current contentgeneration application (in the application that is being used by user116 to generate the current content). This is indicated by block 334 inthe flow diagram of FIG. 4.

User interface logic 150 is then used to display the restructuredcontent, using the content generation application. This is indicated byblock 336. At the same time, conversational UI logic 180, and feedbacklogic 204, generate a conversational user interface display thatrequests user feedback on the restructured content. This is indicated byblock 338.

It may be that the user is satisfied with the restructured content.However, it may be that the user also wishes to make changes to therestructured content. If the latter is true, then user change identifierlogic 214 detects any user changes to the restructured content, and userchange save logic 216 saves those changes (as deltas or differences)from the restructured content. That is, the restructured content ismaintained as it was generated by system 158, and the changes to thatrestructured content, that are made by user 116, are saved separately sothat they can be applied later, when the restructured content isrendered or refreshed. Detecting the user changes is indicated by block340 and saving those changes separately from the restructured content isindicated by block 342.

At this point in the processing, the content to be ingested from thesource document is now fully ingested and restructured according to theapplication that is being used to generate the current content. Therestructured content is now restructured using the semantics of theapplication it is ingested into, and it can thus be saved or shared,etc. This is indicated by block 344 in the flow diagram of FIG. 4. Byway of example, user 116 can use electronic mail computing system 108 toshare the document containing the restructured content. User 116 can usesocial network computing system 110 to share it or other communicationsystems 112 as well.

At some point, it may be that the document containing the restructuredcontent is to be refreshed. Refresh trigger detection logic 250 (shownin FIG. 3) thus detects a refresh trigger. This is indicated by block346. The refresh trigger can take a wide variety of different forms. Forinstance, it may be that conversational UI logic 180 intermittently asksthe user 116 whether he or she wishes to have the document refreshed.This is indicated by block 348. It may be that user 116 provides aninput requesting that the content be refreshed, regardless of whetherthe user is prompted for that input. This is indicated by block 350. Itmay be that logic 250 receives an indication from the application, thatwas used to create the source document, indicating that the sourcedocument has been changed or revised. This may trigger a refresh of therestructured content. Detecting, as a refresh trigger, a change to thesource document is indicated by block 352. It may also be that refreshlogic 160 is scheduled to intermittently refresh the document accordingto a schedule. Detecting that it is time for a scheduled refresh isindicated by block 354. Refresh trigger detection logic 250 can detecttriggers in a wide variety of other was as well, and this is indicatedby block 356.

Once the trigger is detected, ingested source identifier logic 252identifies the source of the ingested content that is to be refreshed.It may be that certain parts of a document come from one source whileother parts come from another source. Thus, it may be that all of theingested content in a given document is to be refreshed every time thedocument is to be refreshed. On the other hand, it may be that onlycertain parts of the document are to be refreshed. For instance, it maybe that a user requests that a certain graph be refreshed. Identifyingthe source of ingested content to be refreshed is indicated by block358. Identifying the source of all ingested content is indicated byblock 360. Identifying the source of a subset of the ingested content isindicated by block 362. The source of the ingested content to berefreshed can be identified in other ways as well, and this is indicatedby block 364.

Link identifier logic 254 then obtains and uses the link to the sourcecontent, in order to obtain access to the source document. This isindicated by block 366. For instance, it may be that link identifierlogic 254 identifies a path that leads to the source document, and linkfollowing logic 256 navigates using that path to obtain access to thesource document.

Source change identifier logic 258 then detects whether any changes havebeen made to the content that was ingested from the source document.This is indicated by block 368. If so, it identifies those changes andtransformation logic interaction system 260 provides those changes tothe application-specific transformation logic 186 which performs atransformation or restructuring on the refreshed content to obtainrefreshed, restructured content. This is indicated by block 370.

User change application logic 262 then applies any of the user changes(that were saved by user change save logic 216) to the refreshed,restructured content. This is indicated by block 372. Because the userchanges are saved separately from the underlying restructured content,then the refreshed content can be restructured in the same way as theunderlying restructured content and the user changes can then be appliedto that refreshed content.

The refreshed, restructured content, with the user deltas applied isthen output as desired. This is indicated by block 374. It can be outputto a data store, where it saved. This is indicated by block 376. It canbe displayed to user 116, as indicated by block 378. It can be output toone or more different remote systems or in a wide variety of other waysas well, and this is indicated by block 380.

FIGS. 5A-5C (collectively referred to herein as FIG. 5) show a flowdiagram illustrating one example of the operation of conversational UIlogic 180 in more detail. It is assumed that the conversational UI logic180 is running in a content generation application that is being used byuser 116 to generate content. This is indicated by block 382 in the flowdiagram of FIG. 5. It is assumed that the user has logged into, orotherwise authenticated to, the content generation application, or tothe system that is running it, hosting it, etc. This is indicated byblock 384. The content generation application may be running with theconversational UI logic in other ways as well, and this is indicated byblock 386.

In one example, preference identifier logic 194 intermittently usesorganizational content graph accessing logic 208 to access informationin the organizational content graph maintained by computing system 104to identify user preferences, user tendencies, etc. This is indicated byblock 388 in the flow diagram of FIG. 5. By way of example, it may bethat logic 194 identifies content that is created or accessed by user116, as related content. It may identify related content as content thatwas shared with the user, or in other ways. Identifying related contentis indicated by block 390. Logic 194 may perform analysis (or have thatanalysis performed by another logic component) on the related content aswell. This operation may be performed in the background to maintainvarious analysis results, of interest, on the related contentcorresponding to user 116. This is indicated by block 392. Logic 194 mayidentify the language, form factor, layout, document templates, andother preferences of user 116 based upon the various analyses performed.This is indicated by block 394. Logic 194 may identify other users orroles that are strongly connected to user 116 in the organizationalcontent graph. This is indicated by block 396. Logic 194 can performother analysis (or have that analysis performed) intermittently, in thebackground, to identify related content, and various preferences andtendencies of user 116 in other ways as well. This is indicated by block398.

Based upon the information that is learned about user 116,conversational sequence and control logic 196 modifies rules or modelsthat determine the conversational sequence control based upon thepreferences and tendencies. This is indicated by block 400 in FIG. 5.For instance, it may be that logic 180 contains a model or heuristics orother logic that defines the sequence and control of the conversationalUI that it generates with each different user. By maintaining someanalysis results indicative of the user preferences and tendencies fromthe organizational content graph (or from another source) those rulescan continually or intermittently be revised and updated.

Content ingestion trigger detection logic 191, at some point, detects auser input that indicates that the user wishes to ingest content fromanother application, into the presently running content generationapplication. This is indicated by block 402. By way of example, it maybe that user 116 is currently generating a word processing document,using a word processing application, but that user 116 wishes to ingestcontent from another document generated using a different contentgeneration application. This is just one example.

Available content identifier logic 192 then begins identifying availablecontent for ingestion into the content generated by this contentgeneration application. This is indicated by block 404. By way ofexample, it may be that user 116 only has access to (or permissionrights to) certain content. It may be that the user has worked on somedocuments more recently or more often than other documents. It may bethat an importance of the documents related to user 116 have beenidentified using the weighted relationships in the organizationalcontent graph or when identifying user preferences (as discussed aboveat block 388). In that case, available content identifier logic 192 mayidentify all of the documents with ingestible content that user 116 hasaccess to, and rank them in order of importance or in order oflikelihood that the user will be ingesting content from those documents.The ranking criteria can, as discussed, be the recency of access by user116, the weight of the relationship between user 116 and the content,the frequency of access by user 116, the subject matter of thedocuments, and/or the importance of those documents using othercriteria, etc. In identifying source documents with ingestible content,logic 192 may access the organizational content graph maintained bycomputing system 104. This is indicated by block 406. It may access thelocal files 154. This is indicated by block 408. It may identifyingestible content in other ways as well, and this is indicated by block410.

Conversation sequence and control logic 196 then conducts aconversational dialog with user 116 to have user 116 identify the sourcedocument for the content to be ingested. This is indicated by block 412.In one example, logic 196 can display available source content for userselection. This is indicated by block 414. In another example, ingestedcontent identifier logic 200 can suggest content to be ingested byvarious different source documents. This is indicated by block 416. Thesuggestion may be based on the importance criteria discussed above, orother criteria.

In yet another example, ingested content identifier logic 200 receives auser input identifying the source content (such as the user typing adocument location in a text box, in a search box, etc.). This isindicated by block 418. Logic 200 can generate a dialog with user 116 tohave user 116 identify the source document that contains the content tobe ingested in other ways as well, and this is indicated by block 420.It will be noted that the selection of ingestible content can includeselecting particular parts of a source document, selecting a sourcedocument as a whole, or other identifying techniques.

Ingested content identifier logic 200 then controls ingested contentaccessing logic 182 to obtain the source of the content to be ingested.This is indicated by block 422 in the flow diagram of FIG. 5. In doingso, it can use organizational content graph accessing logic 208 toaccess content on the organizational content graph maintained bycomputing system 104. It can use local content accessing logic 210 toaccess local files 154, or it can obtain the source of the content to beingested in other ways.

Conversational UI logic 180 then controls application-specifictransformation logic 186 to begin restructuring the source content to beingested. This is indicated by block 424 in the flow diagram of FIG. 5.For instance, logic 186 uses ingested content parsing logic 220 to beginparsing the content to be ingested, as indicated by block 426. Itobtains user-specific document templates (and other user preferences)identified by preference identifier logic 194. This is indicated byblock 428. It obtains information about related documents (or relatedcontent) as indicated by block 430. It obtains other preferenceinformation as well, as indicated by block 432. Conversational UI logic180 can communicate with transformation logic 186 to begin transformingor restructuring the source content to be ingested in other ways aswell, and this is indicated by block 434.

While logic 186 is restructuring the content to be ingested,conversational UI logic 180 continues to conduct a dialog with the user,to obtain additional information that can be used in the restructuringprocess. This is indicated by block 436. For instance, it can obtain adesired title 438 from user 116. It can ask user 116 to specifyparticular layout details 440 and form factor information 444. It canuse recipient identifier logic 202 to have user 116 identify theintended recipients of the content, as indicated by block 446. It candisambiguate the importance of the content to be ingested, such as byasking the user which parts of the content are most important or inother ways. This is indicated by block 448. It can confirm various otherrestructuring results as indicated by block 450, and it can obtainadditional information from the user in other ways as well, and this isindicated by block 452.

Conversational UI logic 180 can provide the additional information ithas received from the user to the application-specific transformationlogic 186 so that it can complete restructuring of the content to beingested. This is indicated by block 454.

Logic 196 can also interact with the application-specific transformationlogic 186 to obtain updates as to where logic 186 is in therestructuring process. This is indicated by block 456. It can thengenerate conversational updates for the user, indicating to the userwhat is happening in the restructuring process. This is indicated byblock 458.

It may be that conversational UI interaction logic 230 in logic 186interacts with conversational UI logic 180 in order to requestconversational UI logic 180 to obtain additional information from theuser. This is indicated by block 460. If so, processing reverts to block436 where conversation sequence and control logic 196 executes aconversational sequence with user 116 to obtain the requestedinformation.

If the restructuring is continuing, as indicated by block 462,processing reverts to block 456 where additional updates are provided tothe user. However, once restructuring is complete, as indicated by block462, then content generating application logic 140 controls the contentgeneration application it is running to display the conversationalfeedback user interface generated by feedback logic 204. This isindicated by block 464. It will be appreciated that, at the same time,content generating application logic 140 will be controlling the contentgeneration application to display the restructured, ingested content.Thus, user 116 can view the restructured content and provide appropriatefeedback.

Feedback logic 204 detects user interactions with the conversationalfeedback user interface, as indicted by block 466. It conducts afeedback dialog with the user based upon the detected user interactions.This is indicated by block 468. For instance, it may determine the usersatisfaction with the restructured content. This is indicated by block470. It may provide the user an opportunity to make changes to therestructured content, and it can identify and track those changes usinguser modification tracking logic 188. This is indicated by block 472. Itcan conduct the feedback dialog based on the detected user interactionsin a wide variety of other ways as well, and this is indicated by block474.

Feedback logic 204 then interacts with conversational UI interactionlogic 230 in transformation logic 186 to provide feedback information tothe application-specific transformation logic 186. In one example, theingested content analysis logic 222 (or other parts of analysis logic orrestructuring system 228) uses the feedback information to learn how toanalyze and restructure ingested content in better ways, in the future.Providing the feedback information to the application-specifictransformation logic 186 for learning is indicated by block 476 in theflow diagram of FIG. 5.

The feedback information can then be stored for access by other add-inlogic in other content generation applications. This is indicated byblock 478. For instance, it can be stored in the organizational contentgraph along with preferences for user 116. This is indicated by block480. It can be stored for access by other add-ins in other ways as well,and this is indicated by block 482.

FIG. 6 is an illustration of one example of a user interface display 484that can be generated by content ingestion and transformation add-inlogic 158. FIG. 484 shows that application-specific transformation logic186 has already generated restructured content. In one example, therestructured content is a series of slides 486 generated in a slidepresentation application. The user has selected one of the slides 488for display. It can also be seen that conversational UI 180 hasgenerated a conversational user interface dialog with user 116, and thisis shown generally at 490.

By way of example, conversational sequence and control logic 196 hasgenerated a series of update communications 492 that provide updates asto the status of application-specific transformation logic 186, ingenerating the restructured content. It then provides a feedback userinterface display 494 that allows the user to indicate whether he or sheis satisfied with the restructured content. If the user actuates the“no” actuator 496, then conversation sequence and control logic 196controls the application to allow the user to make modifications to therestructured content. User modification tracking logic 188 tracks thosechanges so that they can be saved and applied to the restructuredcontent, when it is refreshed.

FIG. 7 is a block diagram showing one example of a set ofapplication-specific transformation logic 186 in more detail. In theexample shown in FIG. 7, logic 186 is represented asspreadsheet-to-presentation transformation logic 500. Some of the itemsare similar to those shown in FIG. 2, and they are similarly numbered.In the example shown in FIG. 7, ingested content parsing logic 220illustratively includes spreadsheet parsing logic 502, chart identifierlogic 504, native insight identifier logic 506, data source (e.g.,table) identifier logic 508, and it can include other parsing logic 510.Ingested content analysis logic 222 can include the metadata analyzerlogic 224, additional insight generation logic 512, related contentanalysis logic 226, chart analysis logic 514, and text analysis logic516. Ingested content analysis logic 222 can include other analysislogic 518 as well.

Restructured output generator logic 232 illustratively includes slidecount identifier logic 520, slide content generator 522 (which, itself,illustratively includes graphic generator 524, text generator 526, andit can include other items 528). Restructured output generator logic 232can include slide sequence generator 530, notes generator 532, and itcan include other items 534.

FIG. 8 is a flow diagram illustrating one example of the operation ofspreadsheet-to-presentation transformation logic 500 in restructuringcontent that resides in a spreadsheet document into ingested contentthat is ingested into a slide presentation document. Spreadsheet parsinglogic 502 first parses the spreadsheet into its different parts. This isindicated by block 550 in the flow diagram of FIG. 8. For instance,chart identifier logic 504 can identify charts 552, tables 554 and awide variety of other items 556 in the spreadsheet document. Nativeinsight identifier logic 506 identifies insights that have already beengenerated by the spreadsheet application used to generate thespreadsheet document. For instance, some spreadsheet applicationsanalyze data in a spreadsheet document and generate insights indicativeof relationships, patterns, correlations among different graphics, etc.These insights are identified by native insight identifier logic 506,and this is indicted by block 558.

Data source identifier logic 508 illustratively identifies the datasources for the various graphic elements. For instance, where a chart552 is identified in the spreadsheet document, the data used to generatethat chart may come from one or more different tables in the spreadsheetdocument. Thus, the data source (e.g., the tables) that support thegraphic (e.g., the chart) are identified. This is indicated by block560.

Additional insight generation logic 512 then generates any additionalinsights. This is indicated by block 562. Related content analysis logic226 can generate those insights based on external data, such as relateddocuments discussed above. This is indicated by block 464. Chartanalysis logic 514 can generate additional insights based upon thecharacteristics of the different charts or graphics identified in thespreadsheet document. This is indicated by block 566. For instance, if achart has an x-axis and a y-axis, then the information (or variable)represented on those axes may be identified as being important to theuser who created the spreadsheet document. Thus, that information may beused in restructuring the content of the document. It can also generatea relevance metric indicative of a relevance of information in the chartto the document being created. The same can be done for pivot charts, orpivot tables, tables, and their underlying data sources. The relevancyand importance level can be generated from all data and metadata used onthe restructuring.

There may be textual information in the chart or tables or in thespreadsheet in other places. Text analysis logic 516 can perform anatural language analysis of that text to generate additional insights,and this is indicated by block 568. Metadata analyzer logic 224 can usethe metadata corresponding to the spreadsheet document (such as theauthor, the date it was created, the date it was last accessed orupdated, etc.) to generate additional insights as well, and thisindicated by block 570. Additional insights can be generated in a widevariety of other ways as well, and this is indicted by block 572.

Restructuring system 228 then restructures the content for ingestioninto the slide presentation document. This is indicated by block 574. Indoing so, it can incorporate the way that information is represented inthe slide presentation document in the restructuring process. It can useprior customizations in logic 236, the identified recipients in logic238, the intended form factor in logic 240, and it can restructure thedocument in a wide variety of other ways using logic 242. For instance,logic 242 can include insight conversation logic that converts thenatively generated insights, or additional insights, to a graphic ortextual description of the insights.

Restructured output generator logic 232 then generates an outputindicative of the restructured content. This is indicated by block 576.By way of example, slide count identifier logic 520 may identify apreferred slide count (e.g., the number of slides in the slidepresentation that will represent the ingested content). This isindicated by block 578. Slide content generator 522 then generates thecontent for those slides. Graphic generator 524 can generate graphics.Text generator 526 can generate text for the slides, among other things.This is indicated by block 580 in the flow diagram of FIG. 8. Slidesequence generator 530 illustratively identifies a slide sequence forthe slides, and transitions, based upon their content. This is indicatedby block 582. Notes generator 532 illustratively generates notes thatcan accompany the slides. This is indicated by block 584. The output canbe generated in a wide variety of other ways as well, and this isindicated by block 586.

FIG. 9 is a block diagram showing another example ofapplication-specific transformation logic 186. In the example shown inFIG. 9, it is described as slide presentation-to-word processingdocument transformation logic 590. Some of the items in logic 590 aresimilar to those shown in FIG. 2 (for logic 186), and they are similarlynumbered. Thus, transformation logic 590 includes ingested contentprocessing logic 220 that processes a slide presentation so that itscontents can be ingested into a word processing document. In the exampleshown in FIG. 9, logic 220 includes slide presentation parsing logic592, graphic identifier 594, transition identifier 596, text identifier598, notes identifier logic 600, native insight identifier logic 602 andit can include other parsing logic 604. Ingested content analysis logic222 can include related content analysis logic 226 and metadata analysislogic 224. It can include graphic analysis logic 606,transition/sequence analysis logic 608, text/note analysis logic 610,additional insight generation logic 612, and it can include otheranalysis logic 614.

Restructuring system 228 can include prior customization transformationlogic 236, recipient-based transformation logic 238, form factortransformation logic 240, summary generator logic 616, graphic (table,chart, list, equation, other) generator logic 618, and it can includeother restructuring logic 620. Restructured output generator logic 232illustratively includes summary output generator 622, table of contentsgenerator 624, and it can include other items 626. Logic 590 can alsoinclude conversational UI interaction logic 230 or other items 628.

FIG. 10 is a flow diagram illustrating one example of the operation ofslide presentation-to-word processing document transformation logic 590in restructuring content found in a source slide presentation documentso that it can be included in a word processing document. Slidepresentation parsing logic 592 first parses the slide presentation intoit's different parts. This is indicated by block 630 in the flow diagramof FIG. 10. It illustratively parses the slide presentation intodifferent parts that can be recognized by the various items shown inlogic 200. Thus, it first parses the slide presentation document intodifferent slides 632. Graphic identifier 594 identifies differentgraphics 634 on those slides, along with metadata corresponding to thosegraphics, and transition identifier logic 596 identifies the transitions636 between the different slides. Text identifier logic 598 identifiesthe text (such as labels and content text and bullet points, etc.) onthe slides, as indicted by blocks 638. Notes identifier logic 600identifies the notes 640 corresponding to the slides and native insightidentifier logic 602 identifies any native insights 642 that may havebeen generated by the slide presentation logic. A wide variety of otheritems in the slide presentation document can be identified as well, andthis is indicated by block 644.

Ingested content analysis logic 222 than performs analysis on thevarious parts that have been parsed out of the document to identify anyadditional insights. This is indicated by block 646. It will be notedthat the additional insights can also be based on related content and begenerated by related content analysis logic 226. This is indicated byblock 648 in the flow diagram of FIG. 10. The additional insights can begenerated from graphic analysis logic 606 based on the graphics found inthe slides. This is indicated by block 650. The additional insights canalso be generated by transition/sequence analysis logic 608 based on thetransitions and slide sequence in the slide presentation document. Thisis indicated by block 652. By way of example, it may be that twoconsecutive slides are the same except for one textual bullet point thatwas added to the second slide, in addition to those shown in the firstslide. In that case, the transition/sequence analyzer logic 608 mayidentify an insight indicating that the information should be presentedas a series of steps, in the word processing document. This is just oneexample. Further, different items of smart art may provide differentinsights.

The text/note analysis logic 610 may provide additional insights basedupon the text, notes, bullet points, etc. in the slides. This isindicated by block 654. Metadata analysis logic 224 may provideadditional insights based upon the metadata in the slide presentationdocument. This is indicated by block 656. For instance, the metadatacorresponding to the slides may have label information that identifieslabels or there may be labeled sections of the presentation. Thosedifferent sections may be identified as candidates for placing in atable of contents in the word processing document. This is just oneexample of how additional insights can be generated based on metadata.The metadata analysis logic 224 can also generate a relevance metricindicative of a relevance of the information in the metadata to thedocument being generated. Restructuring system 228 can restructure thecontent based on the relevance metric or in other ways, some of whichare described below.

The additional insights can be generated in a wide variety of other waysas well. This is indicated by block 658. As mentioned above, theadditional insights and analysis results can indicate an importance orrelevance of the various parts of the source document, relationship orcorrelations or patterns in the content, ways to transform orrestructure the content, among other things.

Restructuring system 228 then restructures the content found in theslide presentation document so that it can be provided in the wordprocessing document. This is indicated by block 660. As is describedabove, the restructuring can be performed based on prior customizationsusing prior customization transformation logic 236. It can be performedbased upon the intended recipient of the word processing document, asrepresented by recipient-based transformation logic 238. Therestructuring can be performed based upon the intended form factor onwhich the word document will be displayed using form factortransformation logic 240. In addition, however, summary generator logic616 can generate a textual summary of the ingested content. By way ofexample, it may be that the user has selected the entire slidepresentation for ingestion. On the other hand, it may be that the userhas only selected a subset of the slides in the presentation to beingested. Summary generator logic 616 generates a summary of the contentto be ingested, based upon the analysis results described above. Thesummary generator may, for instance, generate a reformattedrepresentation of a graphical text object ingested from the slidepresentation. This is just one example.

Graphic (table, chart, list, equation, other) generator logic 618 canalso generate graphics for inclusion in the word processing document.The graphics can include tables or charts. They can include lists invarious forms, equations, or other graphic information. Once the contenthas been restructured so that it can be used in the word processingdocument, the restructured output generator logic 232 generates anoutput indicative of the restructured content. This is indicated byblock 662.

By way of example, summary output generator 222 generates an outputindicative of the textual summary 664. Table of contents generator 624generates an output indicative of any table of contents 666 that wasgenerated. Various other portions of restructured output generator logic232 can generate the output with graphics, tables, lists, equations,etc. This is indicated by block 668. The output indicative of therestructured content can be generated in a wide variety of other ways aswell, and this is indicated by block 670.

It can thus be seen that the present description improves whatevercomputing system it is included in. When it is included in a computingsystem that runs a content generation application, the add-in allows thecomputing system to quickly perform an analysis on content to beingested and then restructure the content according to any contentgeneration rules, techniques, or mechanisms that are used in the contentgeneration application that is ingesting the content. It can take adocument generated using a different content generation application,identify important parts in that document, generate additional insightseven including insights obtained from external information (such asother documents, user preferences, etc.) and restructure the content sothat it can be displayed in the current content generation application.This greatly enhances the functionality of the computing system thatruns the content generation application.

The present discussion has mentioned processors and servers. In oneembodiment, the processors and servers include computer processors withassociated memory and timing circuitry, not separately shown. They arefunctional parts of the systems or devices to which they belong and areactivated by, and facilitate the functionality of the other componentsor items in those systems.

It will be noted that the above discussion has described a variety ofdifferent systems, components and/or logic. It will be appreciated thatsuch systems, components and/or logic can be comprised of hardware items(such as processors and associated memory, or other processingcomponents, some of which are described below) that perform thefunctions associated with those systems, components and/or logic. Inaddition, the systems, components and/or logic can be comprised ofsoftware that is loaded into a memory and is subsequently executed by aprocessor or server, or other computing component, as described below.The systems, components and/or logic can also be comprised of differentcombinations of hardware, software, firmware, etc., some examples ofwhich are described below. These are only some examples of differentstructures that can be used to form the systems, components and/or logicdescribed above. Other structures can be used as well.

Also, a number of user interface displays have been discussed. They cantake a wide variety of different forms and can have a wide variety ofdifferent user actuatable input mechanisms disposed thereon. Forinstance, the user actuatable input mechanisms can be text boxes, checkboxes, icons, links, drop-down menus, search boxes, etc. They can alsobe actuated in a wide variety of different ways. For instance, they canbe actuated using a point and click device (such as a track ball ormouse). They can be actuated using hardware buttons, switches, ajoystick or keyboard, thumb switches or thumb pads, etc. They can alsobe actuated using a virtual keyboard or other virtual actuators. Inaddition, where the screen on which they are displayed is a touchsensitive screen, they can be actuated using touch gestures. Also, wherethe device that displays them has speech recognition components, theycan be actuated using speech commands.

A number of data stores have also been discussed. It will be noted theycan each be broken into multiple data stores. All can be local to thesystems accessing them, all can be remote, or some can be local whileothers are remote. All of these configurations are contemplated herein.

Also, the figures show a number of blocks with functionality ascribed toeach block. It will be noted that fewer blocks can be used so thefunctionality is performed by fewer components. Also, more blocks can beused with the functionality distributed among more components.

FIG. 11 is a block diagram of architecture 100, shown in FIG. 1, exceptthat its elements are disposed in a cloud computing architecture 700.Cloud computing provides computation, software, data access, and storageservices that do not require end-user knowledge of the physical locationor configuration of the system that delivers the services. In variousexamples cloud computing delivers the services over a wide area network,such as the internet, using appropriate protocols. For instance, cloudcomputing providers deliver applications over a wide area network andthey can be accessed through a web browser or any other computingcomponent. Software or components of architecture 100 as well as thecorresponding data, can be stored on servers at a remote location. Thecomputing resources in a cloud computing environment can be consolidatedat a remote data center location or they can be dispersed. Cloudcomputing infrastructures can deliver services through shared datacenters, even though they appear as a single point of access for theuser. Thus, the components and functions described herein can beprovided from a service provider at a remote location using a cloudcomputing architecture. Alternatively, they can be provided from aconventional server, or they can be installed on client devicesdirectly, or in other ways.

The description is intended to include both public cloud computing andprivate cloud computing. Cloud computing (both public and private)provides substantially seamless pooling of resources, as well as areduced need to manage and configure underlying hardware infrastructure.

A public cloud is managed by a vendor and typically supports multipleconsumers using the same infrastructure. Also, a public cloud, asopposed to a private cloud, can free up the end users from managing thehardware. A private cloud may be managed by the organization itself andthe infrastructure is typically not shared with other organizations. Theorganization still maintains the hardware to some extent, such asinstallations and repairs, etc.

In the example shown in FIG. 11, some items are similar to those shownin FIG. 1 and they are similarly numbered. FIG. 11 specifically showsthat computing systems 102, 104, 108, 110, and 112 can be located incloud 702 (which can be public, private, or a combination where portionsare public while others are private). Therefore, user 116 uses a userdevice 704 to access those systems through cloud 702.

FIG. 11 also depicts another example of a cloud architecture. FIG. 11shows that it is also contemplated that some elements of architecture100 can be disposed in cloud 702 while others are not. By way ofexample, data store 146 can be disposed outside of cloud 702, andaccessed through cloud 702. In another example, content generatingapplication logic 140 can also be outside of cloud 702. Regardless ofwhere they are located, they can be accessed directly by device 704,through a network (either a wide area network or a local area network),they can be hosted at a remote site by a service, or they can beprovided as a service through a cloud or accessed by a connectionservice that resides in the cloud. All of these architectures arecontemplated herein.

It will also be noted that architecture 100, or portions of it, can bedisposed on a wide variety of different devices. Some of those devicesinclude servers, desktop computers, laptop computers, tablet computers,or other mobile devices, such as palm top computers, cell phones, smartphones, multimedia players, personal digital assistants, etc.

FIG. 12 is a simplified block diagram of one illustrative example of ahandheld or mobile computing device that can be used as a user's orclient's hand held device 16, in which the present system (or parts ofit) can be deployed. FIGS. 13-14 are examples of handheld or mobiledevices.

FIG. 12 provides a general block diagram of the components of a clientdevice 16 that can run components of architecture 100 or that interactswith architecture 100, or both. In the device 16, a communications link13 is provided that allows the handheld device to communicate with othercomputing devices and under some embodiments provides a channel forreceiving information automatically, such as by scanning. Examples ofcommunications link 13 include an infrared port, a serial/USB port, acable network port such as an Ethernet port, and a wireless network portallowing communication though one or more communication protocolsincluding General Packet Radio Service (GPRS), LTE, HSPA, HSPA+ andother 3G and 4G radio protocols, 1×rtt, and Short Message Service, whichare wireless services used to provide cellular access to a network, aswell as 802.11 and 802.11b (Wi-Fi) protocols, and Bluetooth protocol,which provide local wireless connections to networks.

In other examples, applications or systems are received on a removableSecure Digital (SD) card that is connected to a SD card interface 15. SDcard interface 15 and communication links 13 communicate with aprocessor 17 (which can also embody processors from previous FIGS) alonga bus 19 that is also connected to memory 21 and input/output (I/O)components 23, as well as clock 25 and location system 27.

I/O components 23, in one example, are provided to facilitate input andoutput operations. I/O components 23 for various embodiments of thedevice 16 can include input components such as buttons, touch sensors,multi-touch sensors, optical or video sensors, voice sensors, touchscreens, proximity sensors, microphones, tilt sensors, and gravityswitches and output components such as a display device, a speaker, andor a printer port. Other I/O components 23 can be used as well.

Clock 25 illustratively comprises a real time clock component thatoutputs a time and date. It can also, illustratively, provide timingfunctions for processor 17.

Location system 27 illustratively includes a component that outputs acurrent geographical location of device 16. This can include, forinstance, a global positioning system (GPS) receiver, a LORAN system, adead reckoning system, a cellular triangulation system, or otherpositioning system. It can also include, for example, mapping softwareor navigation software that generates desired maps, navigation routesand other geographic functions.

Memory 21 stores operating system 29, network settings 31, applications33, application configuration settings 35, data store 37, communicationdrivers 39, and communication configuration settings 41. Memory 21 caninclude all types of tangible volatile and non-volatilecomputer-readable memory devices. It can also include computer storagemedia (described below). Memory 21 stores computer readable instructionsthat, when executed by processor 17, cause the processor to performcomputer-implemented steps or functions according to the instructions.Processor 17 can be activated by other components to facilitate theirfunctionality as well.

Examples of the network settings 31 include things such as proxyinformation, Internet connection information, and mappings. Applicationconfiguration settings 35 include settings that tailor the applicationfor a specific enterprise or user. Communication configuration settings41 provide parameters for communicating with other computers and includeitems such as GPRS parameters, SMS parameters, connection user names andpasswords.

Applications 33 can be applications that have previously been stored onthe device 16 or applications that are installed during use, althoughthese can be part of operating system 29, or hosted external to device16, as well.

FIG. 13 shows one example in which device 16 is a tablet computer 600.In FIG. 6, computer 600 is shown with user interface display screen 602.Screen 602 can be a touch screen (so touch gestures from a user's fingercan be used to interact with the application) or a pen-enabled interfacethat receives inputs from a pen or stylus. It can also use an on-screenvirtual keyboard. Of course, it might also be attached to a keyboard orother user input device through a suitable attachment mechanism, such asa wireless link or USB port, for instance. Computer 600 can alsoillustratively receive voice inputs as well.

FIG. 14 shows that the device can be a smart phone 71. Smart phone 71has a touch sensitive display 73 that displays icons or tiles or otheruser input mechanisms 75. Mechanisms 75 can be used by a user to runapplications, make calls, perform data transfer operations, etc. Ingeneral, smart phone 71 is built on a mobile operating system and offersmore advanced computing capability and connectivity than a featurephone.

Note that other forms of the devices 16 are possible.

FIG. 15 is one example of a computing environment in which architecture100, or parts of it, (for example) can be deployed. With reference toFIG. 15, an example system for implementing some embodiments includes ageneral-purpose computing device in the form of a computer 810.Components of computer 810 may include, but are not limited to, aprocessing unit 820 (which can comprise processors or servers fromprevious FIGS.), a system memory 830, and a system bus 821 that couplesvarious system components including the system memory to the processingunit 820. The system bus 821 may be any of several types of busstructures including a memory bus or memory controller, a peripheralbus, and a local bus using any of a variety of bus architectures. By wayof example, and not limitation, such architectures include IndustryStandard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus,Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA)local bus, and Peripheral Component Interconnect (PCI) bus also known asMezzanine bus. Memory and programs described with respect to FIG. 1 canbe deployed in corresponding portions of FIG. 15.

Computer 810 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 810 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media is different from, anddoes not include, a modulated data signal or carrier wave. It includeshardware storage media including both volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by computer 810. Communication media typically embodiescomputer readable instructions, data structures, program modules orother data in a transport mechanism and includes any informationdelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of any of the aboveshould also be included within the scope of computer readable media.

The system memory 830 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 831and random access memory (RAM) 832. A basic input/output system 833(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 810, such as during start-up, istypically stored in ROM 831. RAM 832 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 820. By way of example, and notlimitation, FIG. 15 illustrates operating system 834, applicationprograms 835, other program modules 836, and program data 837.

The computer 810 may also include other removable/non-removablevolatile/nonvolatile computer storage media. By way of example only,FIG. 15 illustrates a hard disk drive 841 that reads from or writes tonon-removable, nonvolatile magnetic media, and an optical disk drive 855that reads from or writes to a removable, nonvolatile optical disk 856such as a CD ROM or other optical media. Other removable/non-removable,volatile/nonvolatile computer storage media that can be used in theexemplary operating environment include, but are not limited to,magnetic tape cassettes, flash memory cards, digital versatile disks,digital video tape, solid state RAM, solid state ROM, and the like. Thehard disk drive 841 is typically connected to the system bus 821 througha non-removable memory interface such as interface 840, and optical diskdrive 855 are typically connected to the system bus 821 by a removablememory interface, such as interface 850.

Alternatively, or in addition, the functionality described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Program-specific Integrated Circuits (ASICs), Program-specificStandard Products (ASSPs), System-on-a-chip systems (SOCs), ComplexProgrammable Logic Devices (CPLDs), etc.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 15, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 810. In FIG. 15, for example, hard disk drive 841 isillustrated as storing operating system 844, application programs 845,other program modules 846, and program data 847. Note that thesecomponents can either be the same as or different from operating system834, application programs 835, other program modules 836, and programdata 837. Operating system 844, application programs 845, other programmodules 846, and program data 847 are given different numbers here toillustrate that, at a minimum, they are different copies.

A user may enter commands and information into the computer 810 throughinput devices such as a keyboard 862, a microphone 863, and a pointingdevice 861, such as a mouse, trackball or touch pad. Other input devices(not shown) may include a joystick, game pad, satellite dish, scanner,or the like. These and other input devices are often connected to theprocessing unit 820 through a user input interface 860 that is coupledto the system bus, but may be connected by other interface and busstructures, such as a parallel port, game port or a universal serial bus(USB). A visual display 891 or other type of display device is alsoconnected to the system bus 821 via an interface, such as a videointerface 890. In addition to the monitor, computers may also includeother peripheral output devices such as speakers 897 and printer 896,which may be connected through an output peripheral interface 895.

The computer 810 is operated in a networked environment using logicalconnections to one or more remote computers, such as a remote computer880. The remote computer 880 may be a personal computer, a hand-helddevice, a server, a router, a network PC, a peer device or other commonnetwork node, and typically includes many or all of the elementsdescribed above relative to the computer 810. The logical connectionsdepicted in FIG. 15 include a local area network (LAN) 871 and a widearea network (WAN) 873, but may also include other networks. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 810 is connectedto the LAN 871 through a network interface or adapter 870. When used ina WAN networking environment, the computer 810 typically includes amodem 872 or other means for establishing communications over the WAN873, such as the Internet. The modem 872, which may be internal orexternal, may be connected to the system bus 821 via the user inputinterface 860, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 810, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 15 illustrates remoteapplication programs 885 as residing on remote computer 880. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

It should also be noted that the different examples described herein canbe combined in different ways. That is, parts of one or more examplescan be combined with parts of one or more other examples. All of this iscontemplated herein.

Example 1 is a computing system, comprising:

a processor;

content generating application logic that uses the processor to run afirst content generation application to generate a first document; and

slide presentation content ingestion and transformation logic, thatidentifies a graphical object in slide presentation content in a sourceslide presentation document, generated using a slide presentationapplication, different from the first content generation application,for ingestion into the first document and that automaticallyrestructures the graphical object in the slide presentation content intorestructured content that is displayed, by the first content generationapplication, in the first document.

Example 2 is the computing system of any or all previous exampleswherein the slide presentation content ingestion and transformationlogic, comprises:

graphic analysis logic configured to identify the graphical object, withcorresponding metadata, on a slide in the slide presentation content;and

metadata analysis logic configured to identify label information in themetadata corresponding to the graphical object.

Example 3 is the computing system of any or all previous exampleswherein the slide presentation content ingestion and transformationlogic, comprises:

summary generator logic configured to generate a textual summarycorresponding to the graphical object based on the label information.

Example 4 is the computing system of any or all previous exampleswherein the graphical object comprises a graphical text object andwherein the summary generator logic is configured restructure thegraphical text object by generating a reformatted representation of thegraphical text object.

Example 5 is the computing system of any or all previous exampleswherein the slide presentation content ingestion and transformationlogic, comprises:

slide presentation parsing logic configured to identify different slidesand a slide sequence in the slide presentation content; and

sequence analysis logic configured to generate an order for informationin the restructured content based on the slide presentation content onthe different slides and based on the slide sequence.

Example 6 is the computing system of any or all previous exampleswherein the slide presentation content ingestion and transformationlogic, comprises:

transition identifier logic configured to identify types of transitionsbetween the different slides; and

transition analysis logic configured to generate textual transitions inthe restructured content based on the identified transitions.

Example 7 is the computing system of any or all previous examples andfurther comprising:

link generator logic that generates, as metadata for the first document,a link to the slide presentation content in the source slidepresentation document; and

refresh logic configured to use the link to the slide presentationcontent to refresh the restructured content based on changes to theslide presentation content in the source slide presentation document.

Example 8 is the computing system of any or all previous exampleswherein the metadata analysis logic is configured to generate arelevance metric indicative of a relevance of the data represented bythe label information in the metadata to the first document, and whereinthe slide presentation content ingestion and transformation logic,comprises:

a restructuring system configured to generate the restructured contentbased on the relevance metric.

Example 9 is the computing system of any or all previous exampleswherein the content generating application that generates the firstdocument comprises a word processing application and wherein the summarygenerator logic is configured to generate word processing content forthe first document based on the restructured content.

Example 10 is a computer implemented method, comprising:

running, with a processor, a first content generation application togenerate a first document; and

identifying, with identifying logic, a graphical object in slidepresentation content in a source slide presentation document, generatedusing a slide presentation application, different from the first contentgeneration application, for ingestion into the first document;

identifying metadata corresponding to the graphical object, on a slidein the slide presentation content;

identifying label information in the metadata corresponding to thegraphical object; and

automatically restructuring the graphical object in the slidepresentation content, based on the label information in thecorresponding metadata, into restructured content that is displayed, bythe first content generation application, in the first document.

Example 11 is the computer implemented method of any or all previousexamples wherein automatically restructuring the graphical objectcomprises:

generating a textual summary corresponding to the graphical object basedon the label information.

Example 12 is the computer implemented method of any or all previousexamples wherein the graphical object comprises a graphical text objectand wherein automatically restructuring the graphical object comprises:

restructuring the graphical text object by generating a reformattedrepresentation of the graphical text object.

Example 13 is the computer implemented method of any or all previousexamples and further comprising:

identifying different slides and a slide sequence in the slidepresentation content; and

identifying an order for information in the restructured content basedon the slide presentation content on the different slides and based onthe slide sequence.

Example 14 is the computer implemented method of any or all previousexamples and further comprising:

identifying types of transitions between the different slides; and

generating textual transitions in the restructured content based on theidentified transitions.

Example 15 is the computer implemented method of any or all previousexamples and further comprising:

generating, as metadata for the first document, a link to the slidepresentation content in the source slide presentation document; and

refreshing the restructured content, using the link to the slidepresentation content, based on changes to the slide presentation contentin the source slide presentation document.

Example 16 is the computer implemented method of any or all previousexamples wherein automatically restructuring comprises:

generating a relevance metric indicative of a relevance of the datarepresented by the label information in the metadata to the firstdocument; and

generate the restructured content based on the relevance metric.

Example 17 is the computer implemented method of any or all previousexamples wherein the content generating application that generates thefirst document comprises a word processing application and whereingenerating the textual summary comprises:

generating word processing content for the first document based on therestructured content.

Example 18 is a computing system, comprising:

a processor;

content generating application logic that uses the processor to run afirst content generation application to generate a first document;

graphic analysis logic configured to identify a graphical object, withcorresponding metadata, on a slide in slide presentation content in asource slide presentation document, generated using a slide presentationapplication, different from the first content generation application;

metadata analysis logic configured to identify label information in themetadata corresponding to the graphical object; and

a restructuring system that automatically restructures the graphicalobject in the slide presentation content into restructured content thatis displayed, by the first content generation application, in the firstdocument.

Example 19 is the computing system of any or all previous exampleswherein the graphical object comprises a graphical text object andwherein the restructuring system comprises:

summary generator logic configured restructure the graphical text objectby generating a reformatted representation of the graphical text object.

Example 20 is the computing system of any or all previous examples andfurther comprising:

slide presentation parsing logic configured to identify different slidesand a slide sequence in the slide presentation content;

sequence analysis logic configured to generate an order for informationin the restructured content based on the slide presentation content onthe different slides and based on the slide sequence; transitionidentifier logic configured to identify types of transitions between thedifferent slides; and

transition analysis logic configured to generate textual transitions inthe restructured content based on the identified transitions.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A computing system comprising: a processor; andmemory storing instructions executable by the processor, wherein theinstructions, when executed, cause the computing system to: generate afirst document by a first content generation application; instruct adisplay device to display an application user interface that includesthe first document; receive a selection input that selects a sourceslide presentation document corresponding to a slide presentationapplication different from the first content generation application, thesource slide presentation document comprising a set of slides, havingslide presentation content, in a slide sequence; identify a graphicalobject in the slide presentation content; parse the slide presentationcontent to identify a first portion of the graphical object and a secondportion of the graphical object; automatically identify a datacorrelation between the first portion and the second portion of thegraphical object; generate an insight based on the data correlationbetween the first portion and the second portion of the graphicalobject; add the generated insight to the first document in theapplication user interface; identify a type of transition between theset of slides; and generate a textual transition in the first documentbased on the identified type of transition.
 2. The computing system ofclaim 1 wherein the instructions cause the computing system to: identifythe graphical object, with corresponding metadata, on a slide in the setof slides; identify label information in the metadata corresponding tothe graphical object; and generate a textual summary corresponding tothe graphical object based on the label information.
 3. The computingsystem of claim 2 wherein the instructions cause the computing systemto: generate a relevance metric indicative of a relevance of the datarepresented by the label information in the metadata to secondinformation in the first document; restructure the slide presentationcontent, into restructured content, based on the relevance metric; andadd the restructured content to the first document.
 4. The computingsystem of claim 1 wherein the data correlation represents a pattern inthe first and second portions of the graphical object.
 5. The computingsystem of claim 1 wherein the slide presentation content comprises agraphical text object and wherein the instructions cause the computingsystem to restructure the graphical text object by generating areformatted representation of the graphical text object, and to add thereformatted representation of the graphical text object to the firstdocument.
 6. The computing system of claim 1, wherein instructions causethe computing system to: generate, as metadata for the first document, alink to the slide presentation content in the source slide presentationdocument; and use the link to the slide presentation content to refreshthe first document based on changes to the slide presentation content inthe source slide presentation document.
 7. The computing system of claim1, wherein the instructions configure the computing system to:restructure the slide presentation content, into restructured content,based on at least one of: a recipient associated with the firstdocument; or a prior content restructuring performed by a user; and addthe restructured content to the first document.
 8. The computing systemof claim 1, wherein the content generating application that generatesthe first document comprises a word processing application and whereinthe instructions cause the computing system to: generate word processingcontent for the first document based on the slide presentation content.9. A computer implemented method, comprising: generating a firstdocument by a first content generation application; instructing adisplay device to display an application user interface that includesthe first document; receiving a selection input that selects a sourceslide presentation document corresponding to a slide presentationapplication different from the first content generation application, thesource slide presentation document comprising a set of slides, havingslide presentation content, in a slide sequence; identifying a graphicalobject in the slide presentation content; parsing the slide presentationcontent to identify a first portion of the graphical object and a secondportion of the graphical object; automatically identifying a datacorrelation between the first portion and the second portion of thegraphical object; generating an insight based on the data correlationbetween the first portion and the second portion of the graphicalobject; adding the generated insight to the first document in theapplication user interface; identifying a type of transition between theset of slides; and generating a textual transition in the first documentbased on the identified type of transition.
 10. The computer implementedmethod of claim 9 and further comprising: identifying the graphicalobject, with corresponding metadata, on a slide in the set of slides;identifying label information in the metadata corresponding to thegraphical object; and generating a textual summary from the slidepresentation content based on the label information.
 11. The computerimplemented method of claim 10, and further comprising: generating arelevance metric indicative of a relevance of the data represented bythe label information in the metadata to the first document; andrestructuring the slide presentation content, into restructured content,based on the relevance metric; and adding the restructured content tothe first document.
 12. The computer implemented method of claim 10wherein the content generating application that generates the firstdocument comprises a word processing application and wherein generatingthe textual summary comprises: generating word processing content forthe first document based on the slide presentation content.
 13. Thecomputer implemented method of claim 9 wherein the slide presentationcontent comprises a graphical text object and further comprising:generating a reformatted representation of the graphical text object;and adding the reformatted representation of the graphical text objectto the first document.
 14. The computer implemented method of claim 9and further comprising: restructuring the slide presentation contentbased on at least one of: a recipient associated with the firstdocument; or a prior content restructuring performed by a user; andadding the restructured content to the first document.
 15. The computerimplemented method of claim 9 and further comprising: generating, asmetadata for the first document, a link to the graphical object in thesource slide presentation document; and refreshing the first document,using the link to the graphical object, based on a change to thegraphical object in the source slide presentation document.
 16. Thecomputer implemented method of claim 9, wherein the data correlationrepresents a pattern in the first and second portions of the graphicalobject.